package com.ruoyi.web.petmall.pethome.controller;

import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.web.petmall.entity.PetInfoEntity;
import com.ruoyi.web.petmall.pethome.service.NeedService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 控制器类，处理前台求购专区宠物信息的相关请求。
 */
@RestController
@RequestMapping(value = "/petHome/need")
@Api(tags = "前台——求购专区")
public class NeedController extends BaseController {

    /**
     * 需求服务，用于处理求购信息的业务逻辑。
     */
    @Autowired
    private NeedService needService;

    /**
     * 根据条件查询求购专区宠物信息。
     *
     * @param petInfoEntity 查询条件。
     * @return 包含宠物信息的表格数据。
     */
    @ApiOperation("求购专区宠物信息条件查询")
    @GetMapping("/getPetInfo")
    public TableDataInfo getPetInfo(PetInfoEntity petInfoEntity) {
        startPage();
        List<PetInfoEntity> list = needService.getPetInfo(petInfoEntity);
        return getDataTable(list);
    }

    /**
     * 添加求购信息。
     *
     * @param petInfoEntity 包含求购信息的宠物实体。
     * @return 操作结果。
     */
    @ApiOperation("添加求购信息")
    @PostMapping("/addNeedInfo")
    public AjaxResult addNeedInfo(@RequestBody PetInfoEntity petInfoEntity) {
        return toAjax(needService.addNeedInfo(petInfoEntity));
    }
}
